/*
 * @Author: muuzi@163.com muuzi@163.com
 * @Date: 2024-11-29 20:28:52
 * @LastEditors: muuzi@163.com muuzi@163.com
 * @LastEditTime: 2024-12-05 23:47:04
 * @FilePath: /mp-wechat/vite.config.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import { defineConfig,loadEnv } from "vite";
import uni from "@dcloudio/vite-plugin-uni";
import { viteMockServe } from 'vite-plugin-mock'
import createPlugins from "./vite/plugins";
// https://vitejs.dev/config/

export default defineConfig(({ command, mode, ssrBuild }) =>{
  const env = loadEnv(mode, process.cwd());
  return {
    plugins: [
      uni(),
      createPlugins(env, command === "serve"),
      viteMockServe({
        mockPath: "mock", // 指向mock下的文件
        // localEnabled: true, // 是否开启开发环境
  
        // mockPath: "mock",
        localEnabled:  true, // 开发打包开关
        prodEnabled: true, // 生产打包开关
        supportTs: true, // 打开后，可以读取 ts 文件模块。 请注意，打开后将无法监视.js 文件。
        watchFiles: true, // 监视文件更改
        //这样可以控制关闭mock的时候不让mock打包到最终代码内
        injectCode: `
             import { setupProdMockServer } from './mock';
             setupProdMockServer();
         `,
      }),
    //   viteMockServe({
    //   mockPath: 'mock', // mock文件夹路径
    //   enable: true // 只有开发环境才开启mock
    // }),
  ],

  server: {
    host: "0.0.0.0",
    port: Number(env.VITE_APP_PORT),
    open: true,
    proxy: {
      [env.VITE_APP_BASE_API]: {
        target: env.VITE_APP_BASE_URL,
        changeOrigin: true,
        ws: true,
        rewrite: (path) =>
          path.replace(new RegExp("^" + env.VITE_APP_BASE_API), ""),
      },
    },
  },
  }

});
